package com.mango.game.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 渠道信息（平台）
 * </p>
 *
 * @author Mango
 * @since 2025-02-24
 */
@TableName("channel_info")
public class ChannelInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 渠道唯一标识
     */
    @TableId("uid")
    private Long uid;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 所属命名空间ID
     */
    @TableField("name_space")
    private Long nameSpace;

    /**
     * 渠道名称（不同命名空间下可以重复）
     */
    @TableField("name")
    private String name;

    /**
     * 描述标签
     */
    @TableField("label")
    private String label;

    /**
     * 平台类型（华为、OPPO、UC、自定义脚本）
     */
    @TableField("platform_type")
    private String platformType;

    /**
     * 选定平台时指定平台参数，JSON格式（脚本时这里是代码）
     */
    @TableField("platform_data")
    private String platformData;

    /**
     * 收益分成的占比
     */
    @TableField("income")
    private BigDecimal income;

    /**
     * 状态：0-停用 1-启用
     */
    @TableField("status")
    private Byte status;

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Long getNameSpace() {
        return nameSpace;
    }

    public void setNameSpace(Long nameSpace) {
        this.nameSpace = nameSpace;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getPlatformType() {
        return platformType;
    }

    public void setPlatformType(String platformType) {
        this.platformType = platformType;
    }

    public String getPlatformData() {
        return platformData;
    }

    public void setPlatformData(String platformData) {
        this.platformData = platformData;
    }

    public BigDecimal getIncome() {
        return income;
    }

    public void setIncome(BigDecimal income) {
        this.income = income;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "ChannelInfo{" +
        "uid = " + uid +
        ", createdAt = " + createdAt +
        ", updatedAt = " + updatedAt +
        ", nameSpace = " + nameSpace +
        ", name = " + name +
        ", label = " + label +
        ", platformType = " + platformType +
        ", platformData = " + platformData +
        ", income = " + income +
        ", status = " + status +
        "}";
    }
}
